/*
 * experimentresult.qml 数据分析配置
 */
import QtQuick 2.15
import QtGraphicalEffects 1.15
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15
import QtCharts 2.15

Item {
    id: expResult

    /* property 定义开始 */
    property bool filterWidgetshow: true

    // 私有
    property bool _saveImgBtnVisible: true // 为 “保存图片” 按钮可见

    // 信号
    signal nextPage(); // 切换到下一页
    signal prevPage(); // 切换到上一页
    /* property 定义结束 */

    // 顶部导航栏
    TabbarNav {
        id: tabNav
        width: parent.width
        height: 56
        isEnable: true
        title: "数据分析"

        onReturnSig: {
            console.log("tabbar nav")
        }
        z: 999
    }

    ColumnLayout {
        anchors.fill: parent
        spacing: 0

        // 主体部分
        Rectangle {
            id: mainPart
            Layout.fillWidth: true
            Layout.preferredHeight: parent.height - btnContainer.height
            Layout.alignment: Qt.AlignTop

            // 背景
            Rectangle {
                anchors.fill: parent
                LinearGradient {
                    anchors.fill: parent
                    start: Qt.point(0, 0)
                    end: Qt.point(0, height)
                    gradient: Gradient {
                        GradientStop {position: 0.0; color: "#007BD8"}
                        GradientStop {position: 1.0; color: "#001A5A"}
                    }
                }
            }

            // 左右箭头按钮
            // Rectangle {
            //     width: 50
            //     height: 50
            //     color: "transparent"
            //     anchors.verticalCenter: parent.verticalCenter
            //     anchors.right: parent.right
            //     z: 999

            //     RightArrowButton {
            //         id: rightarw
            //         anchors.fill: parent
            //         onClicked: expResult.nextPage() // 切换到下一页
            //     }
            // }

            Rectangle {
                width: 50
                height: 50
                color: "transparent"
                anchors.verticalCenter: parent.verticalCenter
                anchors.left: parent.left
                z: 999

                LeftArrowButton {
                    id: leftarw
                    anchors.fill: parent
                    onClicked: expResult.prevPage() // 切换到上一页
                }
            }

            // 内容
            Rectangle {
                anchors.fill: parent
                anchors.topMargin: tabNav.height + 17
                anchors.leftMargin: 17
                anchors.rightMargin: 17
                anchors.bottomMargin: 17
                color: "transparent"

                // 选择方案
                Item {
                    id: comboboxCon
                    width: parent.width
                    height: 40
                    anchors.top: parent.top
                    z: 999

                    RowLayout {
                        anchors.fill: parent
                        spacing: 0

                        // 选择方案
                        CustomComboBox {
                            id: kuozengCombobox
                            Layout.preferredWidth: 200
                            Layout.preferredHeight: 40
                            comboBgColor: "transparent"
                            comboFontColor: "#FFF"
                            comboBorderColor: "#FFF"
                            showListMaxCountinPage: 4 // 默认一页显示4个item
                            model: ["原始曲线", "扩增曲线", "标准曲线", "指导下游方案"]

                            onCurrentIndex: {
                                expResult._saveImgBtnVisible = index !== 3 // 是否不为指导建议
                                // 设置页面
                                mainContentStackLayout.currentIndex = index
                            }
                        }

                        CustomHorSpacerItem {}
                    }
                }

                // 内容部分
                Item {
                    id: mainContentCon
                    anchors.fill: parent

                    StackLayout {
                        id: mainContentStackLayout
                        anchors.fill: parent

                        // 原始曲线
                        ResultProtoCurve {
                            id: protoCurve
                            Layout.fillWidth: true
                            Layout.fillHeight: true
                            headerLeftMargin: kuozengCombobox.width
                        }

                        // 扩增曲线
                        ResultKuoZengCurve {
                            id: kuoZengCurve
                            Layout.fillWidth: true
                            Layout.fillHeight: true
                            headerLeftMargin: kuozengCombobox.width
                        }

                        // 标准曲线
                        ResultStandradCurve {
                            id: standardCurve
                            Layout.fillWidth: true
                            Layout.fillHeight: true
                            headerLeftMargin: kuozengCombobox.width
                        }

                        // 指导建议
                        ResultGuidance {
                            id: guidance
                            Layout.fillWidth: true
                            Layout.fillHeight: true
                            headerLeftMargin: kuozengCombobox.width
                        }
                    }
                }
            }
        }

        // 按钮部分
        Rectangle {
            id: btnContainer
            Layout.fillWidth: true
            Layout.preferredHeight: 80

            RowLayout {
                anchors.fill: parent
                anchors.rightMargin: 17
                anchors.leftMargin: 17

                // 保存图片
                PureButton {
                    id: saveImgBtn
                    visible: expResult._saveImgBtnVisible
                    pureText: "保存图片(S)"
                    Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
                }

                // 配置
                GradientButton {
                    id: settingExportBtn
                    visible: !expResult._saveImgBtnVisible
                    gradText: "配置(C)"
                    Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
                }

                CustomHorSpacerItem {}

                // 导出报告
                GradientButton {
                    id: exportBtn
                    gradText: "导出报告(E)"
                    Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
                }
            }
        }
    }
}
